\chapter{Test de Estructura de Datos}

\section{Fijar la estructura de datos para la cola con prioridad}
Finalmente se ha decidido utilizar la estructura de datos montículo, implementada por la clase del paquete Java \emph{java.util} llamada \textbf{PriorityQueue}, poniendole una capa para implementar métodos de acceso y salida como los de búsqueda o el de impresión de resultados.\newline
Como definición de nodo, y por lo tanto de estado, tendremos:
\begin{itemize}
		\item Posición de la última pieza colocada.
		\item Tipo de la última pieza colocada.
		\item Costo acumulado hasta colocar esa pieza.
		\item Nivel de profundidad.
		\item Enlace con el nodo padre.
		\item Valor f por el cuál debe ordenarse la cola con prioridad.
\end{itemize}

\newpage
\section{Evaluación de la capacidad de la estructura}
\subsection{Test Capacidad}
El código utilizado para probar la capacidad de la estructura de datos es el siguiente:
\lstinputlisting[title=Test,language=Java]{src/pruebas/MainCapacidad.java}

\textbf{Y la salida ha sido:}
\lstinputlisting[title=Resultados]{src/pruebas/salidaCapacidad}
\newpage
\subsection{Test Tiempos de Acceso}
El código utilizado para medir los tiempos \footnote{Los tiempos tomados están en milisegundos.} es:
\lstinputlisting[title=Test,language=Java]{src/pruebas/MainTiempos.java}

\textbf{Y la salida ha sido:}
\lstinputlisting[title=Resultados]{src/pruebas/salidaTiempos}

